'************************************************************************************
' Copyright  2003-2005 Kathleen Dollard
'
' This software is provided 'as-is', without any express or implied warranty. In no 
' event will the author be held liable for any damages arising from the use of this
' software.
' 
' You may use this software for any purpose, including commercial applications, 
' and you may redistribute this software as part of application delivery: however, 
' this copyright notice may not be removed and you may not otherwise redistribute 
' this software directly other than providing a link to wwww.gendotnet.com. 
'
' You may alter this software to better server your needs (I'd like to hear about your 
' changes in order to make the software better). If you alter the softwre, you must  
' clearly mark it as altered and must not be misrepresented as the original software.
' nor wholly your original work.
'*************************************************************************************
'  Summary: Encapsulates a log entry

Option Strict On
Option Explicit On 

Imports System

'! Class Summary: 

Namespace KADGen.Utility
   Public Class LogEntry
      Public Enum logLevel
         InfoOnly
         Warning
         SeriousError
         CriticalError
      End Enum

      Private m_Level As logLevel
      Private m_Message As String
      Private m_Source As String

      Public Sub New(ByVal level As logLevel, ByVal message As String, ByVal source As String)
         Me.Message = message
         Me.Level = level
         Me.Source = source
      End Sub

      Public Property Message() As String
         Get
            Return Me.m_Message
         End Get
         Set(ByVal value As String)
            Me.m_Message = value
         End Set
      End Property

      Public Property Source() As String
         Get
            Return Me.m_Source
         End Get
         Set(ByVal value As String)
            Me.m_Source = value
         End Set
      End Property

      Public Property Level() As logLevel
         Get
            Return Me.m_Level
         End Get
         Set(ByVal value As logLevel)
            Me.m_Level = value
         End Set
      End Property
   End Class
End Namespace